\section{2. Designregler og Relations modellering. Hvorledes omsættes et design til en konkret database?}
\begin{center}
\line(1,0){500}
\end{center}

\noindent\textbf{Fire typer relationer}
\begin{itemize}
    \item Binære
    \item Tertiære
    \item Rekursive
    \item Generalisering
\end{itemize}

\noindent\textbf{Connectivity}
\begin{itemize}
    \item 1:1
    \item 1:M
    \item M:N
\end{itemize}

1..* = tvungen\\

\noindent\textbf{Design regler}\\
Databasen vil være på 4NF hvis disse 10 regler følges - dette skal dog eftervises ved test
\begin{enumerate}
    \item Entiteter – En entitet mappes direkte til en SQL tabel. Tabellen skal hede det samme som entiteten. Navnet skal være et navneord i ental.
    \item M til N binær relation – De 2 entiteter har hver deres primærnøgle, som bliver sat ind i en ny entitet, hvor de bliver til fremmednøgler.
    \item 1 til M – Fremmednøglen skal placeres på mange entiteten og refererer til 1 entiteten.
    \item Rekursiv binær relation – Man anvender de samme regler som ved binære relationer. Dvs. hvis man fx har en M:N rekursiv relation, vil der blive oprettet en ny entitet, til at tage hånd om primær- og fremmednøglerne.
    \item Tertiær relasion – Fuldstændig det samme princip som ved binær. Der er bare 3 entiteter her.
\\\includegraphics[scale=1]{2-tertiary}
\includegraphics[scale=1]{2-tertiarymapped}
\item Attributter – En attribut af en entitet mappes direkte som en attribut i entitetens tabel.
\item Generalisering af super-entiteter – En super-entitet mappes direkte til en SQL tabel.
\item Generalisering af sub-entiteter – En sub-entitet mappes til en tabel for super-entiteten. Den bliver lavet 1 tabel pr. sub-entitet. Primærnøglen fra super-entiteten bliver til fremmednøglen hos sub-entiteten.\\
Disjunkt (d) angives når forekomster af superklassen kun kan tilhøre én subklasse. Dvs. et køretøj kan enten være en Bil eller en Tank. Overlappede (o) angiver at hver forekomst af superklassen kan tilhøre flere subklasser. Dvs. et køretøj kan både være en Bil og en Tank.
\item Mandatory constarint ved 1:M relationer. Det handler om det er tvungen eller frivillig for en entitet, om den skal eksistere (om det er lovligt at der ikke er nogen eller ej?).
\item 1:1 relation - Man vil helst undgå 1:1 relationen. Hvis dette opstår, skal man identificere subjekt og target. Target har interesse i subjekt. Direktøren har interesse i firmabilen. 
Direktør = target. Firmabil = subjekt. Target får primærnøgle CPR og Firmabilen får primærnøglen CPR. Subjekt får fremmednøglen FK og Firmabilen får fremmednøglen FK.
\textit{Hvis en af entiteterne har tvungen eksistens skal primærnøglen altid være på den tvungne entitet.}
\end{enumerate}
